1. Field of the Invention
This invention relates to database management systems. More particularly, the invention is directed to the implementation of query management policies in a database management server.
2. Description of the Prior Art
By way of background, database management systems require controls that can be implemented to adapt the database management servers of such systems to changing workloads, query types, user activity, etc. For example, in a real-time data warehouse environment, it is relatively easy to overload a database management server with too many users, too much memory utilization, and poor caching effects due to the large amount of data being referenced. Current database management servers use a fixed policy management approach in which static environmental and control parameter settings are used to indirectly affect the critical execution paths and semantics of the database management server as database resources, workloads and users change. Such database management servers do not provide adequate control mechanisms that can dynamically adapt to the complex combinations of conditions that can arise during run time.
In the example above, as the number of users increases or achieves some threshold value, a database administrator might want to change the concurrency control optimizations to favor high concurrency. Similarly, if it is recognized that a particular user or a particular query is extremely important, the database administrator might want to assign a set of run-time parameter settings that optimizes the run-time for that particular user or that particular query. However, the specific user or the specific query is often not known in advance when the original application is developed.
It would be desirable to provide a technique whereby policy management in a database management system can be more flexibly implemented. What is particularly needed is a solution in which policy management is based on environmental and control parameters that can be dynamically defined, manipulated and applied relative to critical paths and decision points during transaction processing.